Best Time to Buy and Sell Stock II
Leetcode #122 | Medium | 1-D Динамика
Идея
Продолжение задачи Best Time to Buy and Sell Stock, только теперь можно покупать и выкупать сколько угодно раз, главное, чтобы не было пересечений. Идея: для монотонного массива прибыль будет такая же, как прибыль при покупке/продаже каждый день. То есть [1, 2, 5] - 5-1=4 то же, что и 2-1 + 5-2 = 4. Тогда просто идем по массиву парами и если есть прибыль - берем к себе
Big-O
- Время
O(N) - Память
O(1)
Код
class Solution {
public int maxProfit(int[] prices) {
int res = 0;
for (int i = 1; i < prices.length; i++) {
if (prices[i] > prices[i-1]) {
res += prices[i]-prices[i-1];
}
}
return res;
}
}